home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Resources
/
Chat & Communication
/
Digsby build 37
/
digsby_setup.exe
/
lib
/
getopt.pyo
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2008-10-13
|
4KB
|
162 lines
# Source Generated with Decompyle++
# File: in.pyo (Python 2.5)
__all__ = [
'GetoptError',
'error',
'getopt',
'gnu_getopt']
import os
class GetoptError(Exception):
opt = ''
msg = ''
def __init__(self, msg, opt = ''):
self.msg = msg
self.opt = opt
Exception.__init__(self, msg, opt)
def __str__(self):
return self.msg
error = GetoptError
def getopt(args, shortopts, longopts = []):
opts = []
if type(longopts) == type(''):
longopts = [
longopts]
else:
longopts = list(longopts)
while args and args[0].startswith('-') and args[0] != '-':
if args[0] == '--':
args = args[1:]
break
if args[0].startswith('--'):
(opts, args) = do_longs(opts, args[0][2:], longopts, args[1:])
continue
(opts, args) = do_shorts(opts, args[0][1:], shortopts, args[1:])
return (opts, args)
def gnu_getopt(args, shortopts, longopts = []):
opts = []
prog_args = []
if isinstance(longopts, str):
longopts = [
longopts]
else:
longopts = list(longopts)
if shortopts.startswith('+'):
shortopts = shortopts[1:]
all_options_first = True
elif os.environ.get('POSIXLY_CORRECT'):
all_options_first = True
else:
all_options_first = False
while args:
if args[0] == '--':
prog_args += args[1:]
break
if args[0][:2] == '--':
(opts, args) = do_longs(opts, args[0][2:], longopts, args[1:])
continue
if args[0][:1] == '-':
(opts, args) = do_shorts(opts, args[0][1:], shortopts, args[1:])
continue
if all_options_first:
prog_args += args
break
continue
prog_args.append(args[0])
args = args[1:]
return (opts, prog_args)
def do_longs(opts, opt, longopts, args):
try:
i = opt.index('=')
except ValueError:
optarg = None
opt = opt[:i]
optarg = opt[i + 1:]
(has_arg, opt) = long_has_args(opt, longopts)
if has_arg:
if optarg is None:
if not args:
raise GetoptError('option --%s requires argument' % opt, opt)
optarg = args[0]
args = args[1:]
elif optarg:
raise GetoptError('option --%s must not have an argument' % opt, opt)
if not optarg:
pass
opts.append(('--' + opt, ''))
return (opts, args)
def long_has_args(opt, longopts):
possibilities = _[1]
if opt in possibilities:
return (False, opt)
elif opt + '=' in possibilities:
return (True, opt)
if len(possibilities) > 1:
raise GetoptError('option --%s not a unique prefix' % opt, opt)
unique_match = possibilities[0]
has_arg = unique_match.endswith('=')
if has_arg:
unique_match = unique_match[:-1]
return (has_arg, unique_match)
def do_shorts(opts, optstring, shortopts, args):
while optstring != '':
opt = optstring[0]
optstring = optstring[1:]
if short_has_arg(opt, shortopts):
if optstring == '':
if not args:
raise GetoptError('option -%s requires argument' % opt, opt)
optstring = args[0]
args = args[1:]
optarg = optstring
optstring = ''
else:
optarg = ''
opts.append(('-' + opt, optarg))
return (opts, args)
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if shortopts[i] == shortopts[i]:
pass
elif shortopts[i] != ':':
return shortopts.startswith(':', i + 1)
continue
raise GetoptError('option -%s not recognized' % opt, opt)
if __name__ == '__main__':
import sys
print getopt(sys.argv[1:], 'a:b', [
'alpha=',
'beta'])